#pragma once

#ifndef _RESOURCE_H_
#define _RESOURCE_H_

//Inclusiones basicas
#include "wingmotor.h"

//Inclusiones estandar
#include <string>

//Inclusiones de libreria

//Dependencias
#include <StdTools/Mutex.h>


namespace GMotor
{
#ifdef WIN
	class GMOTOR_API Resource
#else
	class Resource
#endif
	{
	private:
		bool initialized;

		StdTools::Threads::Mutex mutex;
	protected:
		std::string path;

		virtual void load()=0;

	public:
		Resource(std::string path);
		virtual ~Resource(void);

		//Getters y Setters
		std::string getName();

		void initialize();
	};
}
#endif
